import { formdata, getQueryString } from './utils'
import BaseRequest from './BaseRequest'
/**
 * 快捷请求方法类
 */
export default class BaseQuickRequest extends BaseRequest {
  /**
   * GET
   * @param url 请求地址
   * @param params 请求参数
   * @param config 拓展参数
   * @returns
   */
  get(url, params) {
    return this.adapter({
      url,
      params
    })
  }
  /**
   * POST-FORMDATA
   * @param url 请求地址
   * @param data 请求参数
   * @param config 拓展参数
   * @returns
   */
  postFormData(url, data) {
    return this.adapter({
      url,
      data: formdata(data),
      method: 'post',
      headers: { 'content-type': 'multipart/form-data;' }
    })
  }
  /**
   * POST-URL
   * @param url 请求地址
   * @param data 请求参数
   * @param config 拓展参数
   * @returns
   */
  postFormUrl(url, data) {
    return this.adapter({
      url,
      data: getQueryString(data),
      method: 'post',
      headers: { 'content-type': 'application/x-www-form-urlencoded' }
    })
  }
  /**
   * POST-JSON
   * @param url 请求地址
   * @param data 请求参数
   * @param config 拓展参数
   * @returns
   */
  postJson(url, data) {
    return this.adapter({
      url,
      data,
      method: 'post',
      headers: { 'content-type': 'application/json;charset=UTF-8' }
    })
  }
}
